home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t9.d64 / file manager.d (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  21KB  |  622 lines

  1. 10 REM ********************************
  2. 20 REM **                            **
  3. 30 REM **    REL.FIL.MANAGER V2.0    **
  4. 40 REM **                            **
  5. 50 REM **  RELATIVE  FILE  MANAGER   **
  6. 60 REM **  RELATIVE  FILE  MANAGER   **
  7. 70 REM **                            **
  8. 80 REM ** THIS IS A MODIFIED VERSION **
  9. 90 REM ** OF REL.EXPER.V3.4 THAT WILL**
  10. 100 REM**ALLOW THE USER TO DEFINE HIS**
  11. 110 REM** OWN # OF FIELDS AND THIER  **
  12. 120 REM** LENGTH AND TITLE.POWER TO  **
  13. 130 REM**   US.  JAM NOVEMBER 1983   **
  14. 140 REM********************************
  15. 150 DIMAA$(500),N%(500):POKE53281,0:PRINT""CHR$(14):POKE650,128
  16. 160 NM$="":GOSUB10420:IFPEEK(49152)=76ANDPEEK(49257)=173THEN200
  17. 170 POKE646,PEEK(53281)
  18. 180 PRINT"NEW":PRINT"LOAD"CHR$(34)"REL.FILE.BOOTER"CHR$(34)",8"
  19. 190 PRINT"RUN[145][145][145][145][145][145][145][145][145][145][145][145][145][145]":POKE198,3:POKE631,13:POKE632,13:POKE633,13:END
  20. 200 PRINT" [206][207][212][197]: [201]N ALL CASES THROUGHOUT THIS"
  21. 210 PRINT"     PROGRAM, TYPING THE RETURN KEY
  22. 220 [153]"     WITH  NO  KEYBOARD  ENTRY WILL
  23. 230 PRINT"     ACT AS AN ESCAPE FROM WHATEVER
  24. 240 [153]"     YOU ARE DOING.
  25. 250 PRINT" [208]UT A DISK FOR RELATIVE FILES           IN THE DRIVE."
  26. 260 IFPEEK(830)<>32THENGOSUB5010
  27. 270 PRINT"[157]";:GOSUB10640:GOSUB10420
  28. 280 OPEN1,8,15,"I":R$=CHR$(13):NM$=""
  29. 290 B=17:Z$="":PRINT" [196]O YOU WANT TO CREATE A BRAND NEW":GOSUB10470:GOSUB10480
  30. 300 IFZ$<>"Q"THEN340
  31. 310 PRINT" [196]O YOU WANT TO QUIT";:Z$="":INPUTZ$:B=22:GOSUB10480
  32. 320 IFZ$="N"THENGOSUB10420:GOTO290
  33. 330 CLOSE2:CLOSE1:END
  34. 340 IFZ$="Y"THEN560
  35. 350 PRINT" [215]HAT IS THE NAME OF YOUR":GOSUB10470
  36. 360 NM$=Z$:Z=LEN(NM$):IFNM$=""THEN310
  37. 370 IFZ>15THENGOSUB10420:PRINT" [198]ILE NAME TOO LONG.":GOTO290
  38. 380 MN$=NM$:IFZ>6THENMN$=LEFT$(NM$,6)
  39. 390 OPEN2,8,3," "+NM$:GOSUB10010:REM DOES FILE EXIST
  40. 400 CLOSE6:OPEN6,8,7," "+MN$+"/KEY,S,R":INPUT#6,FLDS,DF,PO%:GOSUB10010
  41. 410 DF%=253
  42. 430 GOSUB10420:PRINT" "NM$"[146] HAS "FLDS"[146]FIELDS CREATED
  43. 440 [153]" AND A RECORD LENGTH OF "DF"WAITCHARACTERS."
  44. 450 [153]" ASCRIGHT$VAL(null)STR$CLOSE#"[163]12)"(null)RIGHT$(null)(null)VAL"[163]27)"LENLEFT$ATN(null). (null)VAL(null)CHR$(null)LEFT$"
  45. 460 [153]" USRUSRUSRUSRUSRUSRUSR"[163]12)"USRUSRUSRUSRUSR"[163]27)"USRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSR"
  46. 470 [129]I[178]1[164]FLDS:[132]6,CH(I),CH$(I)
  47. 480 [153][163]3)I[163]11)CH$(I)[163]32)CH(I)
  48. 490 [130]I:[160]6
  49. 500 [139]FX1%[178]9[167][153]"":[141]10640:[141]10420:[153]"":[137]750
  50. 510 [141]10100
  51. 520 [159]6,8,7," "[170]MN$[170]"/SORT KEY,S,R":[141]10010:[129]I[178]1[164]LO:[132]6,N%(I):[130]
  52. 530 [153]"":[141]10640:[160]6
  53. 540 [137]1360
  54. 550 [143] ******* CREATE NEW FILE *******
  55. 560 [153]" (null)HAT DO YOU WANT TO CALL YOUR":[141]10470
  56. 570 NM$[178]Z$:Z[178][195](NM$):[139]NM$[178]""[167]310
  57. 580 [139]Z[177]15[167][141]10420:[153]" ASCILE NAME TOO LONG.":[137]560
  58. 590 [160]2:[159]2,8,3," "[170]NM$:[132]1,E,E$,C,D:[139]E[178]62[167]640
  59. 600 [153]" (null)HAT FILE NAME ALREADY EXISTS.
  60. 610 Z$="":INPUT" [196]O YOU WANT TO WRITE OVER IT ";Z$
  61. 620 B=32
  62. 630 GOSUB10480:IFZ$="Q"ORZ$="N"THENGOSUB10420:GOTO560
  63. 640 MN$=NM$:IFZ>6THENMN$=LEFT$(NM$,6)
  64. 650 IFE=62THENZ$="":GOTO700
  65. 660 Z$="":PRINT" [196]O YOU WANT TO KEEP THE FIELD TITLES
  66. 670 [153]" AND THEIR CHARACTER LENGTHS THE SAME
  67. 680 PRINT" AS THEY WERE IN THE OLD "NM$"[146]";:INPUTZ$:B=LEN(NM$)+26:GOSUB10480
  68. 690 IFZ$="Q"THENGOSUB10420:CLOSE2:GOTO290
  69. 700 CLOSE2:PRINT#1,"S: "+NM$
  70. 710 IFZ$="Y"THENFX1%=9:GOTO730
  71. 720 PRINT#1,"S: "+MN$+"/KEY,S, "
  72. 730 PRINT#1,"S: "+MN$+"/SORT KEY,S, "
  73. 740 IFFX1%=9THEN400
  74. 750 PRINT" [200]OW MANY RECORDS LONG":PRINT" WILL "NM$;:INPUT" BE ";LO
  75. 760 IFLO<1ORLO>500THENGOSUB10420:GOTO750
  76. 770 IFFX1%<>9THEN790
  77. 780 PRINT" [195]REATING FILES ...":GOTO1280
  78. 790 GOSUB10420:PRINT" [200]OW MANY FIELDS (9 MAX) WILL EACH":PO%=1:FLDS=0
  79. 800 INPUT" RECORD HAVE ";FLDS:IFFLDS<1ORFLDS>9THENPRINT"[145][145]":GOTO790
  80. 810 FORI=1TOFLDS:PRINT" [197]NTER THE TITLE FOR FIELD #"I
  81. 820 CH$(I)="":INPUT" (20 CHARACTERS MAX) ";CH$(I)
  82. 830 IFCH$(I)=""ORLEN(CH$(I))>20ORLEN(CH$(I))<1THENGOSUB10420:GOTO810
  83. 840 IFI=6THENGOSUB10420
  84. 850 IFLEN(CH$(I))>PO%THENPO%=LEN(CH$(I))
  85. 860 NEXTI
  86. 870 GOSUB10420:PRINT" [212]HE FOLLOWING ARE RECORD FIELD TITLES;"
  87. 880 FORI=1TOFLDS:PRINT" [198]IELD #"ITAB(PO%+2)CH$(I):NEXTI
  88. 890 B=34:Z$=""
  89. 900 INPUT" [196]O YOU WANT TO MAKE ANY CHANGES";Z$:GOSUB10480
  90. 910 IFZ$="Q"THENPRINT"[145][145][145]":GOTO900
  91. 920 IFZ$="N"THENGOSUB10420:GOTO1000
  92. 930 GOSUB10420
  93. 940 INPUT" [215]HICH FIELD ";Z:IFZ<1ORZ>FLDSTHEN870
  94. 950 PRINT" [197]NTER THE TITLE FOR FIELD #"Z
  95. 960 INPUT" (20 CHARACTERS MAX) ";CH$(Z)
  96. 970 IFCH$(Z)=""ORLEN(CH$(Z))>20ORLEN(CH$(Z))<1THENCH(Z)=" "
  97. 980 IFLEN(CH$(Z))>PO%THENPO%=LEN(CH$(Z))
  98. 990 GOTO870
  99. 1000 PRINT" [206]OTE: [207]NLY 240 CHARACTERS TOTAL FOR ":PRINT" ALL FIELDS ALLOWED.
  100. 1010 DF[178]0:[129]I[178]1[164]FLDS:[153]" VALNTER THE # OF CHARACTERS
  101. 1020 PRINT" FOR FIELD #"I"[146]";:INPUTCH(I)
  102. 1030 IFCH(I)>240-FLDSORCH(I)<1THENGOSUB10420:GOTO1000
  103. 1040 IFI<>6THEN1070
  104. 1050 GOSUB10420:PRINT" [197]NTER THE # OF CHARACTERS"
  105. 1060 PRINT" FOR FIELD #"I"[146] "CH(I)
  106. 1070 DF=DF+CH(I):PRINTTAB(28)"[145][212]OTAL="DF:IFDF<241THEN1090
  107. 1080 GOSUB10420:PRINT" [195]HARACTER TOTAL TOO GREAT.":GOTO1000
  108. 1090 NEXTI
  109. 1100 GOSUB10420:PRINT" [212]HE FOLLOWING ARE RECORD FIELD":PRINT" CHARACTER LENGTHS;
  110. 1110 DF[178]0:[129]I[178]1[164]FLDS:[153]" ASCIELD #"I[163]18)CH(I)
  111. 1120 DF[178]DF[170]CH(I):[153][163]28)"ON(null)UM="DF:[139]DF[177]243[167]1080
  112. 1130 [139]I[178]FLDS[167][153][163]28)"ON(null)OTAL="DF
  113. 1140 [130]I:B[178]34:Z$[178]""
  114. 1150 Z$[178]"":[133]" STR$O YOU WANT TO MAKE ANY CHANGES";Z$:[141]10480
  115. 1160 [139]Z$[178]"Q"[167][153]"ONONON":[137]1150
  116. 1170 [139]Z$[178]"N"[167]1240
  117. 1180 [141]10420
  118. 1190 Z[178]0:[133]" (null)HICH FIELD ";Z:[139]Z[179]1[176]Z[177]FLDS[167]1100
  119. 1200 DF[178]0:[129]I[178]1[164]FLDS:[153]" VALNTER THE # OF CHARACTERS
  120. 1210 PRINT" FOR FIELD #"Z"[146]";:INPUTCH(Z)
  121. 1220 IFCH(Z)>235ORCH(Z)<1THENCH(Z)=1
  122. 1230 GOTO1100
  123. 1240 GOSUB10420:PRINT" [195]REATING FILES....."
  124. 1250 CLOSE6:OPEN6,8,7," "+MN$+"/KEY,S,W":PRINT#6,FLDS;R$;DF;R$;PO%;R$;
  125. 1260 FORI=1TOFLDS:PRINT#6,CH(I);R$;CH$(I);R$;:NEXTI:CLOSE6
  126. 1270 FX1%=0
  127. 1280 OPEN6,8,7," "+MN$+"/SORT KEY,S,W":FORI=1TOLO:N%(I)=I
  128. 1290 PRINT#6,I;R$;:NEXTI:CLOSE6
  129. 1300 DF%=253
  130. 1320 CLOSE2:OPEN2,8,3," "+NM$+",L,"+CHR$(DF%)
  131. 1330 W1=1:W3=0:GOSUB10190:O$="EMPTY":FORI=2TOLO+1:R1=I:GOSUB10080
  132. 1340 X=1:GOSUB10270:PRINT" [210][197][195][207][210][196] "I-1"[146] [195][210][197][193][212][197][196].[145][145][145]":NEXTI
  133. 1350 IFFX1%=9THENFX1%=0
  134. 1360 GOSUB10420
  135. 1370 PRINT" [207]KAY, WHAT OPERATION DID YOU WANT
  136. 1380 [153]" TO PERFORM ?"
  137. 1390 [153]"  (null)RITE     (W)  ?"
  138. 1400 [153]"  (null)EAD      (R)  ?"
  139. 1410 [153]"  (null)PDATE    (U)  ?"
  140. 1420 [153]"  (null)ODIFY    (M)  ?"
  141. 1430 [153]"  (null)EARCH    (S)  ?"
  142. 1440 [153]"  (null)ORT      (SO) ?"
  143. 1450 [153]"  STR$ELETE    (DE) ?"
  144. 1460 [153]"  (null)ESTART   (RE) ?"
  145. 1470 [153]"  (null)RINT     (P)  ?"
  146. 1480 [153]"  ATNDD ON    (A)  ?"
  147. 1490 [153]"  LENOPY      (C)  ?"
  148. 1500 [153]"  STR$IRECTORY (D)  ?"
  149. 1510 [153]"  VALND       (E)  ?"
  150. 1520 L$[178]"":[133]" RIGHT$NPUT A LETTER";L$
  151. 1530 [139]L$[178]""[167][153]"ONONON":[137]1520
  152. 1540 [139]L$[178]"W"[167]1720
  153. 1550 [139]L$[178]"R"[167]2160
  154. 1560 [139]L$[178]"U"[167]1990
  155. 1570 [139]L$[178]"M"[167]2380
  156. 1580 [139]L$[178]"S"[167]2750
  157. 1590 [139]L$[178]"SO"[167]3500
  158. 1600 [139]L$[178]"DE"[167]3930
  159. 1610 [139]L$[178]"RE"[167]NM$[178]"":[141]10420:[141]10190:[160]2:[160]1:[137]280
  160. 1620 [139]L$[178]"P"[167]4390
  161. 1630 [139]L$[178]"A"[167]4790
  162. 1640 [139]L$[178]"C"[167]4100
  163. 1650 [139]L$[178]"D"[167]4990
  164. 1660 [139]L$[178]"E"[167][141]10190:[160]2:[160]1:[128]
  165. 1670 [141]10420:[153]" (null)ERY FUNNY HA-HA.":[137]1370
  166. 1680 [143] ******************************
  167. 1690 [143] * THIS SECTION WRITES RECORDS*
  168. 1700 [143] * ON THE DISK. WRITE ON!     *
  169. 1710 [143] ******************************
  170. 1720 [141]10540:[141]10120:[141]10160
  171. 1730 W2[178]W1:W1$[178]"0":[133]" WRITE TO (0=QUIT) ";W1$:W1[178][197](W1$)
  172. 1740 [139]W1[179][178]0[167]W1[178]W2:[137]1360
  173. 1750 I[178]0:[141]10560:[139]I[179][177]99[167]1770
  174. 1760 [141]10540:[141]10580:W1[178]W2:[141]10120:[141]10160:[137]1730
  175. 1770 R1[178]N%(W1)[170]1:[141]10080
  176. 1780 X[178]1:[141]10230:[139]O$[178]"EMPTY"[167]1820
  177. 1790 [153]" (null)ECORD # "W1"WAITALREADY CONTAINS DATA.":Z$[178]""
  178. 1800 [153]" STR$O YOU WANT TO WRITE OVER IT ";:[133]Z$:B[178]32:[141]10480
  179. 1810 [139]Z$[178]"Q"[176]Z$[178]"N"[167]W1[178]W2:[141]10540:[141]10120:[141]10160:[137]1730
  180. 1820 [141]10540:[141]10120:[153]" (null)ECORD #"W1"WAIT"
  181. 1830 [129]J[178]1[164]FLDS:[153]" "CH$(J)[163]PO%[170]2);:OO$(J)[178]"":[133]OO$(J)
  182. 1840 [139]OO$(J)[178]""[167]OO$(J)[178]" "
  183. 1850 [139][195](OO$(J))[177]CH(J)[167]OO$(J)[178][200](OO$(J),CH(J))
  184. 1860 [130]J
  185. 1870 [141]10540:[153]" (null)ECORD #"W1"WAIT"
  186. 1880 [153]"":[129]I[178]1[164]FLDS:[153]" "CH$(I)[163]PO%[170]3)OO$(I):[130]I
  187. 1890 Z$[178]"":[133]" RIGHT$S THIS RIGHT (Q=QUIT)";Z$:[139]Z$[178]"Q"[167]Z$[178]"":[137]1910
  188. 1900 [139]Z$[178]""[167]Z$[178]"Y"
  189. 1910 B[178]25:[141]10480:[139]Z$[178]"N"[167]1820
  190. 1920 [139]Z$[178]"Q"[167][141]10540:W1[178]W2:[141]10120:[141]10160:[137]1730
  191. 1930 [141]10380:[160]2:W3[178]W1:[159]2,8,3," "[170]NM$[170]",L,"[170][199](DF%):[137]1720
  192. 1940 [143]******************************
  193. 1950 [143]* THIS IS THE UPDATE SECTION *
  194. 1960 [143]* THAT TELLS CLOWN WHICH     *
  195. 1970 [143]* RECORDS ARE FULL.          *
  196. 1980 [143]******************************
  197. 1990 [141]10600:[129]T[178]1[164]LO:R1[178]N%(T)[170]1:[141]10080
  198. 2000 X[178]1:[141]10230
  199. 2010 [153]" (null)ECORD # "T"WAIT",:[139]O$[179][177]"EMPTY"[167][153]"FULL":[137]2030
  200. 2020 [153]O$
  201. 2030 [139]T[173]20[179][177][181](T[173]20)[167]2060
  202. 2040 [153]"     (null)PACE PEEKAR STOPS LISTING.ON":[141]10640
  203. 2050 [141]10600:[139]A$[178][199](32)[167]2070
  204. 2060 [130]T
  205. 2070 [153]" (null)HE LAST RECORD WORKED ON WAS ";
  206. 2080 [139]W3[178]0[167][153]"NONE.":[137]2100
  207. 2090 [153]W1
  208. 2100 [153]"":[141]10640:[137]1360
  209. 2110 [143]******************************
  210. 2120 [143]* THE SECTION READS THE      *
  211. 2130 [143]* REQUIRED RECORDS FROM THE  *
  212. 2140 [143]* DISK.  READ OFF            *
  213. 2150 [143]******************************
  214. 2160 [141]10620:[141]10120:[141]10160
  215. 2170 W2[178]W1:W1$[178]"0":[153]" READ (0=QUIT) ";:[133]W1$:W1[178][197](W1$)
  216. 2180 I[178]0:[141]10560:[139]I[179][177]99[167]2200
  217. 2190 I[178]0:[141]10620:[141]10580:W1[178]W2:[141]10120:[141]10160:[137]2170
  218. 2200 [139]W1[179][178]0[167]W1[178]W2:[137]1360
  219. 2210 R1[178]N%(W1)[170]1:[141]10080
  220. 2220 X[178]1:[141]10230:[139]O$[179][177]"EMPTY"[167]2250
  221. 2230 [141]10620:[153]" (null)ECORD # "W1"WAIT IS "O$"WAIT":W1[178]W2
  222. 2240 [141]10120:[141]10160:[137]2170
  223. 2250 [141]10620:[153]" (null)ECORD #"W1"WAIT"
  224. 2260 [141]10310
  225. 2270 [129]I[178]1[164]FLDS:[153]" "CH$(I)[163]PO%[170]3)OO$(I):[130]I
  226. 2280 [141]10160:[137]2170
  227. 2290 [143]*******************************
  228. 2300 [143]* THIS SECTION WILL EDIT OUR  *
  229. 2310 [143]* SAVED DATA BY READING IT    *
  230. 2320 [143]* INTO AN ARRAY, ASKING WHAT  *
  231. 2330 [143]* CHANGES CLOWN WANTS TO MAKE,*
  232. 2340 [143]* MODIFYING THE ARRAY THEN    *
  233. 2350 [143]* SAVEING THE MODIFIED ARRAY  *
  234. 2360 [143]* BACK ONTO THE DISK.         *
  235. 2370 [143]*******************************
  236. 2380 [141]10680:[141]10120:[141]10160
  237. 2390 W2[178]W1:W1$[178]"0":[133]" MODIFY (0=QUIT) ";W1$:W1[178][197](W1$)
  238. 2400 I[178]0:[141]10560:[139]I[179][177]99[167]2420
  239. 2410 I[178]0:[141]10680:[141]10580:W1[178]W2:[141]10120:[141]10160:[137]2390
  240. 2420 [139]W1[179][178]0[167]W1[178]W2:[137]1360
  241. 2430 R1[178]N%(W1)[170]1:[141]10080
  242. 2440 [141]10310:[139]OO$(I)[179][177]"EMPTY"[167]2470
  243. 2450 [141]10680:[153]" (null)ECORD # "W1"WAIT IS "OO$(I)"WAIT":W1[178]W2
  244. 2460 [141]10120:[141]10160:[137]2390
  245. 2470 [141]10680:[141]10120:[153]" (null)ECORD #"W1"WAIT"
  246. 2480 [153]" (null)HICH OF THE FOLLOWING DO"
  247. 2490 [153]" YOU WANT TO MODIFY ?":[129]I[178]1[164]FLDS:[153]" "I") "CH$(I):[130]
  248. 2500 [153]" "FLDS[170]1") (null)(null) (null)VAL(null)(null)ATN(null)(null)"
  249. 2510 Z$[178]"":[133]" VALNTER A NUMBER ";Z$:[139]Z$[178]""[167][153]"ONONON":[137]2510
  250. 2520 Z[178][197](Z$):[139]Z[179]1[176]Z[177]FLDS[170]1[167]2470
  251. 2530 [139]Z[178]FLDS[170]1[167]W1[178]W2:[137]2380
  252. 2540 [141]10680
  253. 2550 [153]" (null)HE OLD ";CH$(Z);" IS ";OO$(Z)" ."
  254. 2560 [153]" STR$O YOU WANT TO CHANGE IT";:[133]Z$:B[178]27:[141]10480
  255. 2570 [139]Z$[178]"N"[176]Z$[178]"Q"[167]2470
  256. 2580 O$[178]"":[153]" VALNTER NEW ";CH$(Z);[166]2);:[133]O$
  257. 2590 [139]O$[178]""[167][153]"ON":[137]2580
  258. 2600 [139][195](O$)[177]CH(Z)[167]O$[178][200](O$,CH(Z))
  259. 2610 OO$(Z)[178]O$
  260. 2620 Z$[178]"":[133]" ATNNY MORE CHANGES TO THIS RECORD ";Z$:B[178]35:[141]10480
  261. 2630 [139]Z$[178]"Y"[176]Z$[178]"Q"[167]2470
  262. 2640 [141]10380:[137]2380
  263. 2650 [143]*******************************
  264. 2660 [143]* THIS SECTION WILL SEARCH OUR*
  265. 2670 [143]* SAVED DATA BY WHAT EVER     *
  266. 2680 [143]* CATAGORY CLOWN WANTS. ONCE  *
  267. 2690 [143]* THE SEARCH DATA IS FOUND    *
  268. 2700 [143]* CLOWN IS ASKED TO VERIFY    *
  269. 2710 [143]* THAT THIS IS WHAT HE WANTED *
  270. 2720 [143]* THEN IS TOLD WHAT RECORD    *
  271. 2730 [143]* HIS DATA IS CONTAINED IN.   *
  272. 2740 [143]*******************************
  273. 2750 [141]10700:[141]10120
  274. 2760 [153]" (null)LEASE ENTER THE CATAGORY
  275. 2770 PRINT" WOULD LIKE TO SEARCH ;"
  276. 2780 FORI=1TOFLDS:PRINT" "I") "CH$(I):NEXT
  277. 2790 PRINT" "FLDS+1") [212][207] [210][197][211][212][193][210][212]"
  278. 2800 PRINT" "FLDS+2") [201][206][211][212][210][213][195][212][201][207][206][211]"
  279. 2810 Z$="":INPUT" [197]NTER A NUMBER ";Z$:IFZ$=""THENPRINT"[145][145][145]":GOTO2810
  280. 2820 Z=VAL(Z$):IFZ<1ORZ>FLDS+2THENPRINT"[145][145][145]":GOTO2810
  281. 2830 IFZ=FLDS+1THEN1360
  282. 2840 IFZ=FLDS+2THEN3210
  283. 2850 FX1=0:GOSUB10700
  284. 2860 PRINT" [208]LEASE ENTER THE "CH$(Z)
  285. 2870 PRINT" YOU WANTED TO SEARCH THE
  286. 2880 [133]" RECORDS FOR ";SRCH$
  287. 2890 RIG$[178]SRCH$
  288. 2900 [139][200](SRCH$,1)[179][177]"*"[167]2930
  289. 2910 LN[178][195](SRCH$)[171]1:SRCH$[178][201](SRCH$,LN)
  290. 2920 FX1[178]1
  291. 2930 [139][201](SRCH$,1)[179][177]"*"[167]2960
  292. 2940 LN[178][195](SRCH$)[171]1:SRCH$[178][200](SRCH$,LN)
  293. 2950 FX1[178]2
  294. 2960 [139][195](SRCH$)[177]CH(Z)[167][141]10700:[153]" (null)VALATN(null)LENLEFT$CLOSE(null)(null)(null)RIGHT$(null)CHR$CLOSE(null)(null)(null)CLOSE(null)(null)(null)CHR$":[137]5080
  295. 2970 FI[178]1:[139]Z[178]1[167]X[178]1:[137]3000
  296. 2980 SX[178]1:[129]I[178]1[164]Z[171]1:SX[178]SX[170]CH(I)[170]1:[139]I[178]1[167]SX[178]CH(1)[170]2
  297. 2990 [130]I
  298. 3000 [129]I[178]FI[164]LO:R1[178]N%(I)[170]1:[141]10080
  299. 3010 [153]" (null)ECORD #"I"WAITONON"
  300. 3020 X[178]1:O$[178]"":[141]10230:[139]O$[178]"EMPTY"[167]3100
  301. 3030 X[178]SX:O$[178]"":[141]10230
  302. 3040 [139]O$[178]SRCH$[167]3140
  303. 3050 [139]FX1[178]0[167]3100
  304. 3060 [139]FX1[178]2[167]3090:[172][172][143] CHECK FOR WILD CARD MATCH**
  305. 3070 [139]SRCH$[178][201](O$,LN)[167]3140
  306. 3080 [137]3100
  307. 3090 [139]SRCH$[178][200](O$,LN)[167]3140
  308. 3100 [130]I:[153]" "RIG$" CAN NOT BE FOUNDWAIT"
  309. 3110 Z$[178]"":[133]" (null)ANT TO TRY AGAIN ";Z$:B[178]21:[141]10480
  310. 3120 [139]Z$[178]"Y"[167]2750
  311. 3130 [137]1360
  312. 3140 ZI[178]I:[141]10700:[153]" "O$"WAIT HAS BEEN FOUND.":[141]10310
  313. 3150 [153]" (null)ECORD #"ZI"WAIT"
  314. 3160 [129]J[178]1[164]FLDS:[153]" "CH$(J)[163]PO%[170]3)OO$(J):[130]J:[141]10640
  315. 3170 [141]10700:[153]" STR$O YOU WANT TO CONTINUE THE
  316. 3180 PRINT" SEARCH FOR "RIG$" ";:INPUTZ$:B=15+LEN(RIG$):GOSUB10480
  317. 3190 IFZ$="Y"THENFI=ZI+1:GOTO2980
  318. 3200 GOTO2750
  319. 3210 GOSUB10700
  320. 3220 PRINT" [211]EARCH INSTRUCTIONS"
  321. 3230 PRINT" 1) [217]OU CAN SEARCH FOR THE STRING YOU
  322. 3240 [153]"    ARE LOOKING BY ENTERING THE EXACT
  323. 3250 PRINT"    SPELLING OF THE STRING AS IT
  324. 3260 [153]"    WAS STORED ON THE DISK.
  325. 3270 PRINT" 2) [217]OU CAN SEARCH FOR A PARTICULAR
  326. 3280 [153]"    STRING BY USING WILD CARD MATCHING."
  327. 3290 [153]"        I) (null)HEN SEARCHING FOR A STRING
  328. 3300 PRINT"    THAT STARTS WITH THE THREE LETTERS
  329. 3310 [153]"    COR YOU WOULD ENTER COR* TO FIND
  330. 3320 PRINT"    ANY STRING THAT STARTED WITH THOSE
  331. 3330 [153]"    THREE LETTERS.
  332. 3340 PRINT"        II) [193]S WELL WHEN SEARCHING FOR
  333. 3350 [153]"    A STRING ENDING WITH ARIO YOU WOULD
  334. 3360 PRINT"    ENTER *ARIO .
  335. 3370 [153]"    <<< (null)(null)VAL(null)(null) ATN(null)(null) (null)VAL(null)CLOSE(null)(null)CLOSELEN(null)(null)(null)RIGHT$(null)(null)VAL >>>";
  336. 3380 [161]A$:[139]A$[178]""[167]3380
  337. 3390 [137]2750
  338. 3400 [143]*******************************
  339. 3410 [143]* THIS SECTION WILL SORT OUR  *
  340. 3420 [143]* SAVED DATA BY WHAT EVER     *
  341. 3430 [143]* CATAGORY CLOWN WANTS. THIS  *
  342. 3440 [143]* SORT ROUTINE USES A M/C LANG*
  343. 3450 [143]* ROUTINE CALLED ULTRASORT    *
  344. 3460 [143]* FROM COMPUTE! SEPT 1983.    *
  345. 3470 [143]* THATS WHY REL.EXPER/BOOT IS *
  346. 3480 [143]* RUN TO LOAD THIS PROG. J.R.J*
  347. 3490 [143]*******************************
  348. 3500 [141]10720:[141]10120
  349. 3510 [153]" (null)LEASE MAKE A SELECTION AS TO WHAT
  350. 3520 PRINT" CATAGORY YOU WOULD LIKE TO SORT BY;"
  351. 3530 FORI=1TOFLDS:PRINT" "I") "CH$(I):NEXT
  352. 3540 PRINT" "FLDS+1") [212][207] [210][197][211][212][193][210][212]"
  353. 3550 Z$="":INPUT" [197]NTER A NUMBER ";Z$:IFZ$=""THENPRINT"[145][145][145]":GOTO3550
  354. 3560 Z=VAL(Z$):IFZ<1ORZ>FLDS+1THENPRINT"[145][145][145]":GOTO3550
  355. 3570 IFZ=FLDS+1THEN1360
  356. 3580 GOSUB10720
  357. 3590 PRINT" [211]ORTING RECORDS BY "CH$(Z)" ....
  358. 3600 [139]Z[178]1[167]X[178]1:[137]3630
  359. 3610 SX[178]1:[129]I[178]1[164]Z[171]1:SX[178]SX[170]CH(I)[170]1:[139]I[178]1[167]SX[178]CH(1)[170]2
  360. 3620 [130]I
  361. 3630 XX[178]0:[129]I[178]1[164]LO:R1[178]N%(I)[170]1:[141]10080
  362. 3640 X[178]1:O$[178]"":[141]10230:[139]O$[178]"EMPTY"[167]3680
  363. 3650 X[178]SX:O$[178]"":[141]10230:XX[178]XX[170]1
  364. 3660 C1$[178][199](R1):C2$[178][199](R2)
  365. 3670 AA$(XX)[178]O$[170]C1$[170]C2$
  366. 3680 [130]I
  367. 3690 [139]XX[178]0[167][153]" (null)HERE ARE NO RECORDS TO SORT.WAIT":[137]4010
  368. 3700 [143] ** CALL ULTRASORT **
  369. 3710 [158]49152,XX,AA$(1)
  370. 3720 [153]" (null)VALLEN(null)(null)STR$(null)CLOSE(null)(null)(null)(null)VALSTR$"
  371. 3730 [153]" (null)EARRANGING RECORDS ..."
  372. 3740 [129]D[178]1[164]XX
  373. 3750 [143] STRIP OFF OLD POS'N INFO.
  374. 3760 C2$[178][201](AA$(D),1):LN[178][195](AA$(D))[171]1:AA$(D)[178][200](AA$(D),LN)
  375. 3770 C1$[178][201](AA$(D),1):LN[178][195](AA$(D))[171]1:AA$(D)[178][200](AA$(D),LN)
  376. 3780 G[178][198](C2$)[172]256[170][198](C1$)
  377. 3790 N%(D)[178]G[171]1:[130]D
  378. 3800 Z[178]0:[129]T[178]1[164]LO:[129]P[178]1[164]XX:[139]T[178]N%(P)[167]3820
  379. 3810 [130]P:Z[178]Z[170]1:N%(XX[170]Z)[178]T
  380. 3820 [130]T
  381. 3830 [152]1,"S: "[170]MN$[170]"/SORT KEY,S, "
  382. 3840 [159]6,8,7," "[170]MN$[170]"/SORT KEY,S,W":[141]10010
  383. 3850 [129]T[178]1[164]LO:[152]6,N%(T);R$;:[141]10010:[130]
  384. 3860 [153]" (null)(null)(null)(null)CLOSE(null)VAL(null)CLOSE(null)VAL(null)(null)RIGHT$(null)(null)VAL(null)"
  385. 3870 [160]6:[141]10640
  386. 3880 [137]1360
  387. 3890 [143] *****************************
  388. 3900 [143] ** THIS SECTION ERASES A   **
  389. 3910 [143] ** RECORD FROM THE DISK.   **
  390. 3920 [143] *****************************
  391. 3930 [141]10740:[141]10120:[141]10160
  392. 3940 W2[178]W1:W1$[178]"0":[133]" DELETE (0=QUIT) ";W1$:W1[178][197](W1$)
  393. 3950 I[178]0:[141]10560:[139]I[179][177]99[167]3970
  394. 3960 I[178]0:[141]10740:[141]10580:W1[178]W2:[141]10120:[141]10160:[137]3940
  395. 3970 [139]W1[179][178]0[167]W1[178]W2:[137]1360
  396. 3980 R1[178]N%(W1)[170]1:[141]10080
  397. 3990 X[178]1:[141]10230:[139]O$[179][177]"EMPTY"[167]4020
  398. 4000 [141]10740:[153]" (null)ECORD # "W1"WAIT IS "O$"WAIT":W1[178]W2
  399. 4010 [141]10120:[141]10160:[137]3940
  400. 4020 [141]10740:[153]" STR$ELETE RECORD #"W1"WAIT"
  401. 4030 Z$[178]"":[133]" ATNRE YOU SURE ";Z$:B[178]16:[141]10480:[139]Z$[178]"N"[167]3930
  402. 4040 [139]Z$[178]"Q"[167]1360
  403. 4050 X[178]1:[153]" (null)KAY THEN...":O$[178]"EMPTY":[141]10270:[137]3930
  404. 4060 [143]******************************
  405. 4070 [143]* THE SECTION COPIES ONE     *
  406. 4080 [143]* ON THE PRINTER . JAM       *
  407. 4090 [143]******************************
  408. 4100 [141]10760:[141]10120:[141]10160
  409. 4110 W2[178]W1:W1$[178]"0":[133]" COPY FROM (0=QUIT) ";W1$:W1[178][197](W1$)
  410. 4120 I[178]0:[141]10560:[139]I[179][177]99[167]4140
  411. 4130 I[178]0:[141]10760:[141]10580:W1[178]W2:[141]10120:[141]10160:[137]4110
  412. 4140 [139]W1[179][178]0[167]W1[178]W2:[137]1360
  413. 4150 R1[178]N%(W1)[170]1:[141]10080:S1[178]R1:S2[178]R2
  414. 4160 X[178]1:[141]10230:[139]O$[179][177]"EMPTY"[167]4190
  415. 4170 [141]10760:[153]" (null)ECORD # "W1"WAIT IS "O$"WAIT":W1[178]W2
  416. 4180 [141]10120:[141]10160:[137]4110
  417. 4190 [153]" ASCROM RECORD #"W1"WAIT":[141]10160
  418. 4200 W2[178]W1:W1$[178]"0":[133]" COPY TO (0=QUIT) ";W1$:W1[178][197](W1$)
  419. 4210 I[178]0:[141]10560:[139]I[179][177]99[167]4230
  420. 4220 I[178]0:[141]10760:[141]10580:W1[178]W2:[141]10120:[141]10160:[137]4110
  421. 4230 [139]W1[179][178]0[167]W1[178]W2:[137]1360
  422. 4240 R1[178]N%(W1)[170]1:[141]10080:X1[178]R1:X2[178]R2
  423. 4250 X[178]1:[141]10230:[139]O$[178]"EMPTY"[167]4300
  424. 4260 [153]" (null)ECORD # "W1"WAIT HAS DATA IN IT.
  425. 4270 Z$="":PRINT" [196]O YOU WANT TO WRITE OVER IT ";:INPUTZ$:B=32:GOSUB10480
  426. 4280 IFZ$="Q"ORZ$="N"THENW1=W2:GOSUB10760:GOSUB10120:GOSUB10160:GOTO4110
  427. 4290 GOSUB10120:GOSUB10160:GOTO2170
  428. 4300 PRINT" [212]O RECORD #"W1"[146]"
  429. 4310 R1=S1:R2=S2:GOSUB10310:FORI=1TOFLDS:SR1$(I)=OO$(I):NEXT
  430. 4320 PRINT" [195]OPYING RECORDS.....
  431. 4330 R1[178]X1:R2[178]X2:[129]I[178]1[164]FLDS:OO$(I)[178]SR1$(I):[130]I:[141]10380
  432. 4340 [137]4100
  433. 4350 [143]******************************
  434. 4360 [143]* THE SECTION PRINTS RECORDS *
  435. 4370 [143]* ON THE PRINTER . JAM       *
  436. 4380 [143]******************************
  437. 4390 [141]10770:[141]10120:[141]10160
  438. 4400 W2[178]W1:W1$[178]"0":[133]" START PRINTING AT (0=QUIT) ";W1$:W1[178][197](W1$)
  439. 4410 I[178]0:[141]10560:[139]I[179][177]99[167]4430
  440. 4420 I[178]0:[141]10770:[141]10580:W1[178]W2:[141]10120:[141]10160:[137]4400
  441. 4430 [139]W1[179][178]0[167]W1[178]W2:[137]1360
  442. 4440 W3[178]W1
  443. 4450 [153]" (null)TART PRINTING AT RECORD #"W1"WAIT":[141]10160
  444. 4460 W2[178]W1:W1$[178]"0":[133]" END PRINTING AT (0=QUIT) ";W1$:W1[178][197](W1$)
  445. 4470 I[178]0:[141]10560:[139]I[179][177]99[167]4490
  446. 4480 I[178]0:[141]10770:[141]10580:W1[178]W2:[141]10120:[141]10160:[137]4110
  447. 4490 [139]W1[179][178]0[167]W1[178]W2:[137]1360
  448. 4500 [153]" VALND PRINTING AT RECORD #"W1"WAIT":Z$[178]""
  449. 4510 [153]" RIGHT$S THE PRINTER AT THE TOP":[153]" OF A NEW PAGE";:[133]Z$
  450. 4520 B[178]16:[141]10480:[139]Z$[178]"N"[167]"ONONONON":[137]4520
  451. 4530 [139]Z$[178]"Q"[167]4390
  452. 4540 [141]10770
  453. 4550 Z$[178]"":[133]" (null)RINT EMPTY RECORDS TOO";Z$:B[178]26:[141]10480
  454. 4560 UP[178]0:[139]Z$[178]"Y"[167]UP[178]1
  455. 4570 Z$[178]"":[153]" VALNTER STARTING PAGE NUMBER";:[133]Z$
  456. 4580 [139]Z$[178]""[167][153]"ONONON":[137]4570
  457. 4590 [153]" (null)RINTING RECORDS...."
  458. 4600 LN[178]0:PG[178][197](Z$):[160]2:[159]5,4:[157]5:[153][199](17)
  459. 4610 [141]10800:[152]5:[160]5
  460. 4620 [129]G[178]W3[164]W1:R1[178]N%(G)[170]1:[141]10080:[159]2,8,3," "[170]NM$[170]",L,"
  461. 4630 [141]10310:[139]OO$(I)[179][177]"EMPTY"[167]L1[178]LN[170]FLDS[170]2:[137] 4650
  462. 4640 [139]UP[178]1[167]L1[178]LN[170]1[170]2
  463. 4650 [139]L1[177]63[167]L[178]66[171]LN:[141]10860:W3[178]G:PG[178]PG[170]1:Z$[178][196](PG):[137]4600
  464. 4660 [160]2:[139]UP[178]0[175]OO$(I)[178]"EMPTY"[167]4740
  465. 4670 [159]5,4:[157]5:[153][199](17);: LN[178]LN[170]2
  466. 4680 [153][166]8)"(null)VALLEN(null)(null)STR$ # "G:[153]:LN[178]LN[170]2
  467. 4690 [139]OO$(I)[178]"EMPTY"[167][153][166]8)OO$(I):LN[178]LN[170]1:[137]4730
  468. 4700 P1[178]PO%[170]9:[129]V[178]1[164]FLDS
  469. 4710 [153][166]8)CH$(V)[199](16)[199](48[170][181](P1[173]10))[199](48[170][181](P1[173]10)[172]10)OO$(V)
  470. 4720 [130]V:LN[178]LN[170]FLDS
  471. 4730 [152]5:[160]5
  472. 4740 [130]G:[159]2,8,3," "[170]NM$[170]",L,":[137]4390
  473. 4750 [143]***********************
  474. 4760 [143]* THE SECTION ADDS    *
  475. 4770 [143]* RECORDS . JAM       *
  476. 4780 [143]***********************
  477. 4790 [141]10880
  478. 4800 [153]" (null)HERE ARE "LO"WAITRECORDS CREATED":[153]" FOR "NM$"."
  479. 4810 Z$[178]"":[153]" LEFT$OW MANY MORE RECORDS DO YOU
  480. 4820 INPUT" WANT TO ADD (0=QUIT)";Z$:IF Z$=""THEN1360
  481. 4830 Z=VAL(Z$):IFZ=0THEN1360
  482. 4840 IFZ<=500-LOTHEN4860
  483. 4850 GOSUB10880:PRINT" [212]HERE IS NOT ENOUGH ROOM IN MEMORY.":GOTO4800
  484. 4860 PRINT" [195]REATING FILES....."
  485. 4870 FORT=LO+1TOLO+Z:N%(T)=T:NEXTT
  486. 4880 PRINT#1,"S: "+MN$+"/SORT KEY,S, "
  487. 4890 OPEN6,8,7," "+MN$+"/SORT KEY,S,W":FORI=1TOLO+Z
  488. 4900 PRINT#6,N%(I);R$;:NEXTI:CLOSE6
  489. 4910 CLOSE2:OPEN2,8,3," "+NM$+",L,"+CHR$(DF%):GOSUB10010
  490. 4920 W1=1:LO=LO+Z:GOSUB10190:O$="EMPTY":FORI=LO+2TOLO+Z+1:R1=I:GOSUB10080
  491. 4930 X=1:GOSUB10270:PRINT" [210][197][195][207][210][196] "I-1"[146] [195][210][197][193][212][197][196].[145][145][145]":NEXTI
  492. 4940 GOTO4790
  493. 4950 REM***********************
  494. 4960 REM* SECTION TO READ DISK*
  495. 4970 REM* DIRECTORY.JAM       *
  496. 4980 REM***********************
  497. 4990 GOSUB10900:IFPEEK(830)<>32THENGOSUB5010
  498. 5000 SYS828:GOSUB10640:OPEN1,8,15:CLOSE2:OPEN2,8,3," "+NM$:GOSUB10010:GOTO1360
  499. 5010 I=828
  500. 5020 READA:IFA=256THEN5040
  501. 5030 POKEI,A:I=I+1:GOTO5020
  502. 5040 IFPEEK(65440)=135THENPOKE924,189
  503. 5050 RETURN
  504. 5060 DATA169,1,32,195,255,169,36
  505. 5070 DATA141,240,3,169,48,141,241
  506. 5080 DATA3,169,1,162,8,160,0
  507. 5090 DATA32,186,255,169,2,162,240
  508. 5100 DATA160,3,32,189,255,32,192
  509. 5110 DATA255,169,64,32,144,255,162
  510. 5120 DATA1,32,198,255,32,144,255
  511. 5130 DATA32,207,255,32,207,255,32
  512. 5140 DATA207,255,32,207,255,201,0
  513. 5150 DATA240,58,32,204,255,32,228
  514. 5160 DATA255,201,32,208,3,32,196
  515. 5170 DATA3,162,1,32,198,255,32
  516. 5180 DATA207,255,168,32,207,255,72
  517. 5190 DATA152,170,104,32,205,221,169
  518. 5200 DATA32,32,210,255,32,207,255
  519. 5210 DATA201,0,208,8,169,13,32
  520. 5220 DATA210,255,76,115,3,32,210
  521. 5230 DATA255,76,162,3,169,1,32
  522. 5240 DATA195,255,32,204,255,169,204
  523. 5250 DATA133,178,96,32,228,255,201
  524. 5260 DATA32,208,249,96,256
  525. 10000 REM********CHECK ERROR CHANNEL***
  526. 10010 INPUT#1,E,E$,S,D:IFE<20ORE=50THENRETURN
  527. 10020 PRINT"[147]       **[212][200][197][210][197][160][201][211][160][193][160][196][201][211][203][160][197][210][210][207][210].**[146]"
  528. 10030 PRINT"       [197][210][210][207][210]"ESPC(3)E$
  529. 10040 PRINT"    [210]ECORD # "R1+256*R2"[146]"TAB(20)"[198]IELD # "I"[146]"
  530. 10050 PRINT""TAB(14)"[195]HAR POS. "X
  531. 10060 PRINT#1,"I":CLOSE2:CLOSE1
  532. 10061 PRINT" [196]O YOU WANT THE DISK DIRECTORY ";:Z$="":INPUTZ$:B=34:GOSUB10480
  533. 10062 IFZ$="Y"THENPRINT"[147]":SYS828
  534. 10063 PRINT" [208]RESS RETURN TO RESTART THE PROGRAM."
  535. 10064 GETA$:IFA$=""THEN10064
  536. 10065 IFA$<>CHR$(13)THENEND
  537. 10066 GOTO160
  538. 10070 REM*****CHANGE RECORD# FORMAT****
  539. 10080 R2=INT(R1/256):R1=R1-256*R2:RETURN
  540. 10090 REM**READ W1 AND LO FROM REC#1***
  541. 10100 PRINT#1,"P"CHR$(3+96)CHR$(1)CHR$(0)CHR$(1):GOSUB10010
  542. 10110 INPUT#2,W1,LO,W3:GOSUB10010:RETURN
  543. 10120 PRINT" [212]HE LAST RECORD WORKED ON WAS ";
  544. 10130 IFW3=0THENPRINT"NONE.":GOTO10150
  545. 10140 PRINTW1
  546. 10150 PRINT" [212]HERE ARE "LO"[146]RECORDS CREATED.":RETURN
  547. 10160 PRINT" [215]HICH RECORD WOULD YOU LIKE TO
  548. 10170 [142]
  549. 10180 [143]*****WRITE W1 AND LO**********
  550. 10190 [152]1,"P"[199](3[170]96)[199](1)[199](0)[199](1):[141]10010
  551. 10200 [152]2,W1;R$;LO;R$;W3;R$:[141]10010:[142]
  552. 10210 [143]********READ ONE WORD FROM****
  553. 10220 [143]********THE RELATIVE FILE*****
  554. 10230 [152]1,"P"[199](3[170]96)[199](R1)[199](R2)[199](X):[141]10010:O$[178]""
  555. 10240 [132]2,O$:[141]10010:[142]
  556. 10250 [143]********WRITE ONE WORD TO*****
  557. 10260 [143]********THE RELATIVE FILE*****
  558. 10270 [152]1,"P"[199](3[170]96)[199](R1)[199](R2)[199](X):[141]10010
  559. 10280 [152]2,O$;R$:[141]10010:[142]
  560. 10290 [143]********READ THE WHOLE REC.***
  561. 10300 [143]********INTO OO$( ).JAM    ***
  562. 10310 X[178]1:[129]I[178]1[164]FLDS:[152]1,"P"[199](3[170]96)[199](R1)[199](R2)[199](X):[141]10010
  563. 10320 X[178]X[170]CH(I)[170]1:[132]2,OO$(I):[141]10010:[139]OO$(I)[178]""[167]OO$(I)[178]" "
  564. 10330 [139]OO$(I)[178]"EMPTY"[167][142]
  565. 10340 [139]I[178]1[167]X[178]CH(1)[170]2
  566. 10350 [130]I:[142]
  567. 10360 [143]*****WRITE THE WHOLE REC.***
  568. 10370 [143]*****INTO OO$( ).JAM    ***
  569. 10380 X[178]1:[129]I[178]1[164]FLDS:[152]1,"P"[199](3[170]96)[199](R1)[199](R2)[199](X):[141]10010
  570. 10390 X[178]X[170]CH(I)[170]1:[152]2,OO$(I);R$:[141]10010:[139]I[178]1[167]X[178]CH(1)[170]2
  571. 10400 [130]I:[142]
  572. 10410 [143]********* PRINT HEADER *******
  573. 10420 [153]"LOAD"[199](14)"    (null)VAL(null)LEN(null)(null)VAL (null)(null) (null)VAL(null)ATN(null)RIGHT$(null)VAL ASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null)    WAIT"
  574. 10430 [139]NM$[179][177]""[167][141]10450
  575. 10440 [142]
  576. 10450 [153]"ON    (null)VAL(null)ATN(null)RIGHT$(null)VAL ASCRIGHT$(null)VAL (null)(null)VAL(null) = "NM$:[142]
  577. 10460 [143]******** INPUT LINE **********
  578. 10470 Z$[178]"":[133]" RELATIVE FILE ";Z$:[142]
  579. 10480 [139][200](Z$,1)[178]"Y"[167][153][163]B)"ONYES":Z$[178]"Y":[142]
  580. 10490 [139][200](Z$,1)[178]"N"[167][153][163]B)"ONNO":Z$[178]"N":[142]
  581. 10500 Z$[178]"Q":[142]
  582. 10510 [161]Z$:[139]Z$[178]""[167]10510
  583. 10520 [142]
  584. 10530 [143]********* WRITE HEADER *******
  585. 10540 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VAL ASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): (null)(null)RIGHT$(null)VAL (null)VALLEN(null)(null)STR$  ":[142]
  586. 10550 [143]*********RECORD EXISTS*******
  587. 10560 [139]W1[177]LO[167]I[178]99:[142]
  588. 10570 [142]
  589. 10580 [153]" *(null)(null)CLOSE(null)(null)LENLEFT$ (null)VALLEN(null)(null)STR$CLOSEVAL(null)RIGHT$(null)(null)(null)*":I[178]99:[142]
  590. 10590 [143]******** UPDATE HEADER *******
  591. 10600 [153]"LOAD  (null)VAL(null)ATN(null)RIGHT$(null)VAL ASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): (null)(null)STR$ATN(null)VAL (null)VALLEN(null)(null)STR$(null) ":[142]
  592. 10610 [143]********* READ  HEADER *******
  593. 10620 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VAL ASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): (null)VALATNSTR$  (null)VALLEN(null)(null)STR$  ":[142]
  594. 10630 [143]*************PRESS ANY KEY****
  595. 10640 [153]"  <<<(null)(null)VAL(null)(null)CLOSEATN(null)(null)CLOSE(null)VAL(null)CLOSE(null)(null)CLOSELEN(null)(null)(null)RIGHT$(null)(null)VAL >>>";
  596. 10650 [161]A$:[139]A$[178]""[167]10650
  597. 10660 [142]
  598. 10670 [143]**********MODIFY ME*********
  599. 10680 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VALCLOSEASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): VALSTR$RIGHT$(null) (null)VALLEN(null)(null)STR$   ":[142]
  600. 10690 [143]***********SEARCH ME********
  601. 10700 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VALCLOSEASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): (null)VALATN(null)LENLEFT$ (null)VALLEN(null)(null)STR$ ":[142]
  602. 10710 [143]***********SEARCH ME********
  603. 10720 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VALCLOSEASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): (null)(null)(null)(null) (null)VALLEN(null)(null)STR$(null)  ":[142]
  604. 10730 [143]***********DELETE ME********
  605. 10740 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VALCLOSEASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): STR$VAL(null)VAL(null)VAL (null)VALLEN(null)(null)STR$ ":[142]
  606. 10750 [143]***********COPY   ME********
  607. 10760 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VALCLOSEASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null):  LEN(null)(null)(null)CLOSE(null)VALLEN(null)(null)STR$  ":[142]
  608. 10770 [143]***********PRINT  ME********
  609. 10780 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VALCLOSEASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): (null)(null)RIGHT$(null)(null) (null)VALLEN(null)(null)STR$(null) ":[142]
  610. 10790 [143]*******PRINTER HEADERS******
  611. 10800 [153][199](14) "         (null)VAL(null)ATN(null)RIGHT$(null)VALCLOSEASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null)"
  612. 10810 [153]
  613. 10820 [153][199](14)"         ASCRIGHT$(null)VAL (null)ATN(null)VAL :"[199](15)NM$:LN[178]LN[170]8
  614. 10830 [153]
  615. 10840 [153][166]65)"(null)ATNCHR$VAL "PG:[142]
  616. 10850 [143]*******PRINTER RECORDS******
  617. 10860 [159]5,4:[129]M[178]1[164]L:[152]5:[130]M:[160]5:LN[178]LN[170]L:[142]
  618. 10870 [143]*******ADD RECORDS TITLE******
  619. 10880 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VALCLOSEASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): ATNSTR$STR$CLOSE(null)VALLEN(null)(null)STR$(null)   ":[142]
  620. 10890 [143]*******ADD RECORDS TITLE******
  621. 10900 [153]"LOAD   (null)VAL(null)ATN(null)RIGHT$(null)VALCLOSEASCRIGHT$(null)VALCLOSE(null)ATN(null)ATNCHR$VAL(null): (null)VALATNSTR$CLOSESTR$RIGHT$(null)VALLEN(null)(null)(null)(null)":[142]
  622.